Skip to content

fix(voice): wire debug messages over remote sessions#1645

Merged
toubatbrian merged 2 commits into
mainfrom
hothouse-helps-neurons
May 30, 2026
Merged

fix(voice): wire debug messages over remote sessions#1645
toubatbrian merged 2 commits into
mainfrom
hothouse-helps-neurons

Conversation

@rosetta-livekit-bot
Copy link
Copy Markdown
Contributor

@rosetta-livekit-bot rosetta-livekit-bot Bot commented May 29, 2026

Summary

Wires the new AgentSessionEvent.debug_message (livekit/protocol#1593) through SessionHost, and adds an internal-only AgentSession._emit_debug_message(payload) helper for the debugger/recorder (e.g. agents-cli).

Not a user-facing API — the leading underscore + :meta private: docstring marker signal that this is not intended to be called from user code. The event rides the existing AgentSessionEvent wrapper on the wire; nothing else in the session lifecycle changes.

Changes

  • pyproject.toml — bumps livekit-protocol floor >=1.1.9>=1.1.10 (picks up DebugMessage, the renamed AgentSessionEvent.debug_message field, FunctionToolsStarted, EotPrediction).
  • voice/events.pyEventTypes literal "custom_event""debug_message". No wrapper BaseModel.
  • voice/agent_session.py:
    • New internal helper: _emit_debug_message(payload: Mapping[str, Any]) -> None — wraps payload into a google.protobuf.Struct and emits agent_pb.DebugMessage. Bypasses the typed emit override (which narrows to AgentEvent for the Pydantic event-trace report); debug messages ride the proto and aren't part of that typed taxonomy.
    • from google.protobuf.json_format import ParseDict + from google.protobuf.struct_pb2 import Struct lifted to module scope (per the no-inline-imports convention).
  • voice/remote_session.pySessionHost listens on "debug_message"; the handler takes agent_pb.DebugMessage and forwards it through AgentSessionEvent(debug_message=...).

Usage (internal only)

```python

debugger / recorder code only — not for user code

session._emit_debug_message({"kind": "anomaly_detected", "score": 0.92})
```

External listeners can subscribe to the event topic via the EventEmitter, but the canonical emit path is the underscore method. There is no stable public emit API for debug events.

Test plan

  • `uvx ruff check` — clean (on the voice/ files)
  • `uvx ruff format --check` — clean
  • `uv run mypy -p livekit.agents.voice` — blocked on `livekit-protocol==1.1.10` release (see below)

Publishing pipeline

CI type-check is blocked until:

  1. chore(protocol): bump submodule to v1.46.4 (DebugMessage) and regenerate stubs python-sdks#689 merges (bumps the protocol submodule to v1.46.4, version to 1.1.10)
  2. `livekit-protocol==1.1.10` ships to PyPI

After that the pin in pyproject.toml (>=1.1.10) will resolve and mypy will see agent_pb.DebugMessage. Same publishing-pipeline blocker as the previous 1.1.9 cut — no code change needed once the package is released.

Notes

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 29, 2026

🦋 Changeset detected

Latest commit: 99ff231

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 33 packages
Name Type
@livekit/agents Patch
@livekit/agents-plugin-anam Patch
@livekit/agents-plugin-assemblyai Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-cerebras Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-fishaudio Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-hedra Patch
@livekit/agents-plugin-hume Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-lemonslice Patch
@livekit/agents-plugin-liveavatar Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-minimax Patch
@livekit/agents-plugin-mistral Patch
@livekit/agents-plugin-mistralai Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-perplexity Patch
@livekit/agents-plugin-phonic Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-runway Patch
@livekit/agents-plugin-sarvam Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugin-tavus Patch
@livekit/agents-plugins-test Patch
@livekit/agents-plugin-trugen Patch
@livekit/agents-plugin-xai Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@toubatbrian toubatbrian merged commit 8524731 into main May 30, 2026
9 checks passed
@toubatbrian toubatbrian deleted the hothouse-helps-neurons branch May 30, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant